home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / lzwlib / lzwin.c < prev    next >
C/C++ Source or Header  |  1992-03-16  |  1KB  |  57 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <lzw.h>
  4.  
  5. char infile_pathmask[80] = "*.*";
  6.  
  7. void main(int,char **);
  8.  
  9. void main(int argc, char **argv)
  10. {
  11.    char lzw_pathfile[80];
  12.    int i;
  13.    unsigned long options = 0L;
  14.  
  15.    argc--;
  16.    argv++;
  17.    if (!argc){
  18.      puts("USAGE: lzwin <lzw_pathfile> [infile_pathmask] [-p] ");
  19.      puts("       Where -p = save input path");
  20.      exit(1);
  21.    }
  22.    strcpy(lzw_pathfile,*argv);
  23.  
  24.    argc--;
  25.    argv++;
  26.    for (i=0 ; i < argc ; i++)
  27.      switch(argv[i][0]){
  28.        case '-': if (tolower(argv[i][1]) == 'p')
  29.            options |= PATHNAMES;
  30.                  break;
  31.         default: strcpy(infile_pathmask,argv[i]);
  32.      }
  33.  
  34.  
  35.    //  LZW INITIALIZATION
  36.    //
  37.    puts("LZW Initialization...");
  38.    lzw_init();
  39.  
  40.  
  41.    // COMPRESSION
  42.    //
  43.    puts("Encoding...");
  44.    if (lzw(lzw_pathfile,options,infile_pathmask)){
  45.      puts("Encoding error");
  46.      exit(1);
  47.    }
  48.    puts("End encoding...");
  49.  
  50.    //  DEINITIALIZATION
  51.    //
  52.    puts("Deinitialization");
  53.    lzw_deinit();
  54.  
  55.    exit(0);
  56. }
  57.